/**
 字符和字符串转换
1. public char charAt(int index)   普通   下标找指定的字符
2. public char[] toCharArray()	   普通   字符串转字符数组   return 字符数组
3. public String (char[] value)	   构造	 字符数组转字符串
4. public String(char[] value,int offset,int count) 构造 指定范围字符数组转字符串
 字节和字符串转换
 5.public byte[] getBytes()	普通	字符串转字节数组
 6.public String(byte[] bytes)	构造	字节数组转字符串
 7.public String(byte[] bytes,int offset,int length) 构造		指定范围字节转字符串
 8.public String(byte[] bytes,String charsetName)	构造	字节数组转字符串 +转码
 
 找位置并验证
 9.public booleean startsWith(String prefix)		普通	判断目标字符串是否在源字符串的开头位置
 10.public booleean startsWitch(String prefix,int to offset)	普通 判断目标字符串是否在源字符串的指定位置
 11.public boolean endsWith(String suffix)	普通 判断字符串是否在源字符串的结尾位置		
 
 替换字符串
 12.public String replace(char oldChar,char newChar)	替换指定字符
 13.public String replace(CharSequencetarget,CharSequence replacement)	替换指定字符串
 14.public String replaceAll(String regex,String replacement)	替换指定的字符串
 15.public String replaceFirst(String regex,String replacement)	替换第一个满足条件的字符串
 
 找位置
 16.public boolean contains(String s)	method		查看字符串是否存在				
 17.public int indexOf(int ch)	method					查看字符的位置
 18.public int indexOf(int ch,int fromindex)	method				指定开头查字符位置
 19.public int indexOf(String str)	method				字符串位置
 20.public int indexOf(String str,int fromIndex)	method		指定开头查字符串位置		
 
 常用其他操作
 public boolean isEmpty()	是否为空字符串  不是null
 public int length()	字符串长度
 public String toLowerCase()	转小写
 public String to UpperCase()	转大写
 public String trim()	去掉开头结尾的空格
 public String concat(String str)	字符串连接
 */

/*
package com.leo.第七章_常用类库api;

import java.util.Arrays;

//import sun.nio.cs.UTF_8;

public class U7_L2_String类的常用方法 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String  str="dA1@# dA2 2db?eEecCcbA123456789Ba.dA";
		
		//########字符转换
		//字符与字符串的转换
		//1.charAt 下标找字符
		System.out.println("1.charAt 下标找字符: "+str.charAt(2));
		//2.字符串转数组
		char[] char_array=str.toCharArray();
		System.out.print("2.toCharArray 字符串转数组: ");
		for(char ele:char_array) {
			System.out.print(ele);
		}
		//3.字符数组转字符串
		String s1=new String(char_array);
		System.out.println("\n3.构造 charArray 字符数组转字符串: "+s1);
		//4.指定范围字符数组转字符串
		String s2=new String(char_array,0,5);
		System.out.println("4.构造 charArray ,int offset,int count指定范围字符数组转字符串: "+s2);
		
		//#######字节转换
		//字节与字符串的转换
		//5.public byte[]getBytes() 字符串转字节数组
		byte[] str_bytes=str.getBytes();
		System.out.println("5.getBytes 字符串转字节数组: "+Arrays.toString(str.getBytes()));
		
		//6.public String(byte[] bytes) 字节数组转字符串
		String bytes_str=new String(str_bytes);
		System.out.println("6.构造 String(byte[] bytes) 字节数组转字符串: "+bytes_str);
		
		//7.public String(byte[] bytes,int offset,int length) 指定范围字节数组转字符串
		String bytes_str_ol=new String(str_bytes,0,2);
		System.out.println("7.构造 public String(byte[] bytes,int offset,int length) 范围字节数组转字符串: "+bytes_str_ol);
		
		//charset 这个类后面在更新 有问题这里
		//8.public String(byte[] bytes,String charsetName)
		//String bytes_str_ol_charset=new String(str_bytes,0,2,"UTF_8.INSTANCE");
		//System.out.println(bytes_str_ol_charset);
		
		//######找位置并验证
		//9.目标字符串是否在源字符串的开头出现
		//public boolean startsWith(String prefix)
		boolean res=str.startsWith(bytes_str_ol);
		System.out.println("9.字符串是否在开头出现: "+res);
		
		//10.目标字符串是否在源字符串的指定位置出现
		//public boolean startsWith(String prefix，int toffset)
		boolean res_10=str.startsWith(bytes_str_ol,6);
		System.out.println("10.字符串是否在目标位置出现: "+res_10);
		
		//11.目标字符串是否在源字符串的末尾出现
		//public boolean endsWith(String suffix)
		boolean res_11=str.endsWith(bytes_str_ol);
		System.out.println("11.字符串是否在结尾位置出现: "+res_11);
		
		//#########替换字符串
		//12.更改源字符串的字符 所有的相同字符
		//public String replace(char oldChar,char newChar)	替换指定字符
		String str_rechar=str.replace('A', 'a');
		System.out.println("12.改变字符串字符: "+str_rechar);
		
		//13.更换源字符串的目标序列
		//public String replace(CharSequencetarget,CharSequence replacement)	替换指定字符串
		String str_recharSequence=str.replace("dA","TT");
		System.out.println("13.更改源字符串的目标序列: "+str_recharSequence);
		
		//14.使用规则更换源字符串的替换部分
		//public String replaceAll(String regex,String replacement)	替换指定的字符串
		String str_regex_rp=str.replaceAll("[\\w&&[a-e^b-d]]", "!"); //regex需要看下学习资料里的规则
		System.out.println("14.使用regex更改源序列:\n\t\t\t源："+str+"\n\t\t\t改："+str_regex_rp);
	
		//15.使用规则更换源字符串的替换部分  第一段
		//public String replaceFirst(String regex,String replacement)
		String regex_s="dA";
		String str_regex_rpf=str.replaceFirst(regex_s, "?");
		System.out.println("15.使用regex更改源序列第一个:\n\t\t\t源："+str+"\n\t\t\t改:"+str_regex_rpf);
	
		//16.查看字符串是否存在
		//public boolean contains(String s)
		String contains_str="12345";
		boolean res_c_str=str.contains(contains_str);
		System.out.println("16.查看字符串是否存在： "+res_c_str);
		
		//17.查看字符的位置 不存在返回-1
		//public int indexOf(int ch)
		int res_indexOf=str.indexOf('d');
		System.out.println("17.查看字符的位置: "+res_indexOf);
		
		//18.指定开头 查看位置
		//public int indexOf(int ch,int fromindex)
		int res_indexOf_ch=str.indexOf('d',20);
		System.out.println("18.指定开头，字符的位置在: "+res_indexOf_ch);
		
		//19.查看字符串的位置
		//public int indexOf(String str)
		String str_indexof="12345";
		int res_indexOf_str=str.indexOf(str_indexof);
		System.out.println("19.字符串的位置在: "+res_indexOf_str);
		
		//20.指定位置 查看字符串的位置
		//public int indexOf(String str,int fromIndex)
		String str_indexof2="123";
		int res_indexOf_str_intstart=str.indexOf(str_indexof2,10);
		System.out.println("20.设置开始位置，字符串的位置在: "+res_indexOf_str_intstart);
		
		//21.是否为空字符串  不是null
		//public boolean isEmpty()这个不含空格	isblank() 这个含空格
		String str_empty="";
		boolean res_empty=str_empty.isEmpty();
		System.out.println("21.字符串是否为空: "+res_empty);
		
		//22.字符串长度
		//public int length()
		int res_length=str_empty.length();
		System.out.println("22.字符串的长度为: "+res_length);
		
		//23.转小写
		//public String toLowerCase()	
		String res_l=str.toLowerCase();
		System.out.println("23.字符串转小写: "+res_l);
		
		//24.转大写
		//public String to UpperCase()	
		String res_u=str.toUpperCase();
		System.out.println("24.字符串转大写: "+res_u);
		
		//25.去掉开头结尾的空格
		//public String trim()
		String s_trim=" s d ";
		String res_trim=s_trim.trim();
		System.out.println("25.字符串去首尾空: "+res_trim);
		
		//26.字符串连接
		//public String concat(String str)
		String str2=" 2.sss";
		String res_concat=str.concat(str2);
		System.out.println("26.字符串连接: "+res_concat);
		
		//27.各种数据类型转字符串 
		//public static String valueof( 都可 ) 
		T t=new T();
		String res_valueof=String.valueOf(t);
		System.out.println("27:各种数据类型转字符串: "+res_valueof);
	}
	
}

class T{
	String name="test";
	int age=20;
	public T() {}
	@Override
	public String toString() {
		return "T [name=" + name + ", age=" + age + "]";
	}
}
*/


